package cn.codeforfun.gitee.bean.repo.response;

import cn.codeforfun.gitee.bean.repo.request.GiteeRepoRequest;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 仓库响应对象
 *
 * @author wangbin
 */
@EqualsAndHashCode(callSuper = true)
@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class GiteeRepoResponse extends GiteeRepoRequest {
    @JsonProperty("full_name")
    private String fullName;
    @JsonProperty("human_name")
    private String humanName;
    private String url;
    @JsonProperty("private")
    private Boolean private1;
    @JsonProperty("public")
    private Boolean public1;
    private Boolean internal;
    private Boolean fork;
    @JsonProperty("html_url")
    private String htmlUrl;
    @JsonProperty("ssh_url")
    private String sshUrl;
    @JsonProperty("forks_url")
    private String forksUrl;
    @JsonProperty("keys_url")
    private String keysUrl;
    @JsonProperty("collaborators_url")
    private String collaboratorsUrl;
    @JsonProperty("hooks_url")
    private String hooksUrl;
    @JsonProperty("branches_url")
    private String branchesUrl;
    @JsonProperty("tags_url")
    private String tagsUrl;
    @JsonProperty("blobs_url")
    private String blobsUrl;
    @JsonProperty("stargazers_url")
    private String stargazersUrl;
    @JsonProperty("contributors_url")
    private String contributorsUrl;
    @JsonProperty("commits_url")
    private String commitsUrl;
    @JsonProperty("comments_url")
    private String commentsUrl;
    @JsonProperty("issue_comment_url")
    private String issueCommentUrl;
    @JsonProperty("issues_url")
    private String issuesUrl;
    @JsonProperty("pulls_url")
    private String pullsUrl;
    @JsonProperty("milestones_url")
    private String milestonesUrl;
    @JsonProperty("notifications_url")
    private String notificationsUrl;
    @JsonProperty("labels_url")
    private String labelsUrl;
    @JsonProperty("releases_url")
    private String releasesUrl;
    private Boolean recommend;
    private String language;
    @JsonProperty("forks_count")
    private String forksCount;
    @JsonProperty("stargazers_count")
    private String stargazersCount;
    @JsonProperty("watchers_count")
    private String watchersCount;
    @JsonProperty("default_branch")
    private String defaultBranch;
    @JsonProperty("open_issues_count")
    private Integer openIssuesCount;
    @JsonProperty("issue_comment")
    private Boolean issueComment;
    @JsonProperty("pull_requests_enabled")
    private Boolean pullRequestsEnabled;
    @JsonProperty("has_page")
    private Boolean hasPage;
    private String license;
    private Boolean outsourced;
    @JsonProperty("project_creator")
    private String projectCreator;
    @JsonProperty("pushed_at")
    private String pushedAt;
    @JsonProperty("created_at")
    private String createdAt;
    @JsonProperty("updated_at")
    private String updatedAt;
    private String paas;
    private Boolean stared;
    private Boolean watched;
    private String relation;
    @JsonProperty("assignees_number")
    private String assigneesNumber;
    @JsonProperty("testers_number")
    private String testersNumber;


    private String[] members;
    private GiteeNamespace namespace;
    private GiteeOwner owner;
    private GiteePermission permission;
//    private String assignees;
//    private String testers;
//    private String parent;

}
